/*自身对应的.h文件*/
#include "ui_main.h"

/*程序内部对应的.h文件*/
#include "log.h"
#include "drv_sys_time.h"

#include "ui_sensordata.h"

/*外部库对应的.h文件*/
#include "ui.h"

/***************************************************************
 * Name:	 ui_main_init()
 * Input : void
 * Output: void
 * Return: 0成功 <0失败
 * Author: hwl
 * Revise: V1.0
 * Description: 主界面初始化
 ***************************************************************/
int ui_main_init(void)
{
	return 0;
}

/***************************************************************
 * Name:	 ui_main_update()
 * Input : void
 * Output: void
 * Return: void
 * Author: hwl
 * Revise: V1.0
 * Description: 主界面更新
 ***************************************************************/
void ui_main_update(void)
{

}

/***************************************************************
 * Name:	 btn_sysinfo_cb()
 * Input : param事件参数
 * Output: void
 * Return: 0成功 <0失败
 * Author: hwl
 * Revise: V1.0
 * Description: 切换到系统信息界面按键按下回调
 ***************************************************************/
static int btn_sysinfo_cb(ui_event_param_t param)
{
	lv_scr_load(ui_SystermInfo);

	return 0;
}

/***************************************************************
 * Name:	 btn_sensordata_cb()
 * Input : param事件参数
 * Output: void
 * Return: 0成功 <0失败
 * Author: hwl
 * Revise: V1.0
 * Description: 切换到传感器数据界面按键按下回调
 ***************************************************************/
static int btn_sensordata_cb(ui_event_param_t param)
{
	ui_sensordata_init();
	lv_scr_load(ui_SensorData);

	return 0;
}

/*UI事件回调列表*/
static ui_event_cb_list_t g_event_cb_list[] = {
	[0] = {
		.obj_name = MAIN_BTN_SYSINFO_CLICK_CB,
		.obj_cb = btn_sysinfo_cb,
	},
	[1] = {
		.obj_name = MAIN_BTN_SENSORDATA_CLICK_CB,
		.obj_cb = btn_sensordata_cb,
	},
};

/***************************************************************
 * Name:	 ui_main_event_cb()
 * Input : param 事件参数
 * Output: void
 * Return: 0成功 <0失败
 * Author: hwl
 * Revise: V1.0
 * Description: 系统信息界面回调函数
 ***************************************************************/
int ui_main_event_cb(ui_event_param_t param)
{
	for(uint8_t i = 0; i < sizeof(g_event_cb_list) / sizeof(ui_event_cb_list_t); i++)
	{
		if(strcmp(g_event_cb_list[i].obj_name, param.obj_name) == 0)
		{
			return g_event_cb_list[i].obj_cb(param);
		}
	}

	return -1;
}